iT邦幫忙

2022 iThome 鐵人賽

DAY 23
0
自我挑戰組

30天的獨立學習紀錄系列 第 23

DAY23 - 土壤溫度感測器-DS18B20-Part2

  • 分享至 

  • xImage
  •  

前言

大家好啊~今天是我參賽的第二十三天,昨天記錄的是光感測器-BH1750的補充,今天要記錄是之前還沒結束的DS18B20的第二部分,其中包括輸出資料解釋以及波型資料解析,如果有錯誤的地方歡迎各位前輩指正,謝謝各位。


DS18B20-輸出資料解釋

https://ithelp.ithome.com.tw/upload/images/20221008/20152389IktUcuKWZn.png

1.上圖s的意思是符號如果s為 0 則該筆資料為正數,若s為 1 則該筆資料為整數。
2.假設 s 為 0 則該筆資料應直接轉成 10 進制後,即可得到溫度值。
3.假設 s 為 1 該該筆資料需先進行反向後在加上 1。
4.舉例該筆資料為 0000 0000 0000 1000,則轉換為 10 進制為 1*2-1 = 0.5°C
5.範舉例該筆資料為 1111 1111 1111 1000,先將此筆資料反向 0000 0000 0000 0111,再將
該筆資料 +1 變為 0000 0000 0000 1000,轉換成 10 進制為 1*2-1 = -0.5°C,前面加負號的
原因是原始資料的 s 為 1,因此需要加負號。


DS18B20-波型資料解析

https://ithelp.ithome.com.tw/upload/images/20221008/20152389VMBsfv363t.png

1.本組先把 ROM 的命令從 2 進制轉為 16 進制,可以得知 ROM 的命令為跳過 ROM(0XCC),跳過 ROM 的意思為不檢測 ROM 碼,直接給功能命令。
2.功能命令為溫度轉換(0x44),溫度轉換意思為將溫度轉為 16bit。

https://ithelp.ithome.com.tw/upload/images/20221008/20152389nttun5MWeQ.png

1.把 ROM 的命令從 2 進制轉為 16 進制,可以得知 ROM 的命令為搜索 ROM(0xF0),搜索ROM 意思為確認掛在同一條線上的模組有幾個,獲得相應的 ROM 碼。

https://ithelp.ithome.com.tw/upload/images/20221008/201523894oXenOWVcM.png

1.把 ROM 的命令從 2 進制轉為 16 進制,可以得知 ROM 的命令為匹配 ROM(0X55),匹配ROM 意思為發出一個 64bit ROM 碼,即可選定該碼對應的設備。

2.功能命令為讀取暫存器(0XBE),讀取暫存器意思為讀取暫存器內的所有值,其中溫度的數據就放在這一部分。


上一篇
DAY22 - BH1750-發送指令及訊號傳遞
下一篇
DAY24 - 關聯式資料庫正規化
系列文
30天的獨立學習紀錄30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言